package tests;

import java.awt.geom.Point2D;
import java.util.ArrayList;
import java.util.List;

import metodosInterpoladores.Interpoladores;
import funciones.FuncionX;

public class InterpolacionTest {

	
	//Agrego los puntos de tipo (x,y)  a una lista
	public static List<Point2D.Double> createPoints() {
        List<Point2D.Double> points = new ArrayList<Point2D.Double>();
        points.add(new Point2D.Double(3, 2.5));
        points.add(new Point2D.Double(4.5, 1));
        points.add(new Point2D.Double(7, 2.5));
        points.add(new Point2D.Double(9, 0.5));
        return points;
    }
	
	public static void main(String[] args) {
		//Aplico el metodo deseado a partir de la clase agrupadora "Interpoladores"
	FuncionX funcion = Interpoladores.splineCubica(createPoints());
		
//		FuncionX funcion = Interpoladores.interpolarLinealmente(createPoints());
		
		// Evalua la funcion en el punto deseado
		double resultado = funcion.eval(5);
		
		/*
		 * Lo que devuelve va a ser el valor de la funcion en el x=5. 
		 * Resultado esperado con interpolacion lineal = 1.3
		 * Resultado esperado con Spline Cubica= 1.102886
		 */
		System.out.println("El valor de la funcion en x=5 sera: " +resultado);
	}
}
